home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / ms_gwbas.arc / MS-GWBAS.TXT
Text File  |  1986-07-09  |  38KB  |  527 lines

  1. ┌────────────────────────────────────────────────────────────────────┐
  2. │                                                                    │
  3. │                                                                    │
  4. │ AT&T PC6300 SUPPORT BBS - Bulletin Service                         │
  5. │                                                                    │
  6. │ SUBJECT:  GW-BASIC Notes for the PC6300                            │
  7. │ PROVIDED BY:  AT&T PC-Hotline                                      │
  8. │                                                                    │
  9. ├────────────────────────────────────────────────────────────────────┤
  10. │                                                                    │
  11. │    DIFFERENCES BETWEEN IBM BASIC VERSION 1.1 AND GW-BASIC          │
  12. │                                                                    │
  13. ├────────────────────────────────────────────────────────────────────┤
  14. │                                                                    │
  15. │    1) IBM COMPATABILITY PACKAGE MODIFICATIONS                      │
  16. │                                                                    │
  17. │       1.1) RESERVED WORDS AND TOKENS                               │
  18. │            The reserved words and tokens were incompatable,        │
  19. │            making exchange of binary and protected program         │
  20. │            files impossible. GW-Basic token values have been       │
  21. │            modified by this modification package.                  │
  22. │                                                                    │
  23. │       1.2) LINE PRINTER AND KEYBOARD OPEN MODE                     │
  24. │            IBM Basic allows these devices to be open without       │
  25. │            a mode specification. GW-Basic would interpret          │
  26. │            these cases as open for random and declare a mode       │
  27. │            error.                                                  │
  28. │                                                                    │
  29. │       1.3) RS232 SUPPORT                                           │
  30. │            The /C switch on the IBM Basic command line allows      │
  31. │            the user to specify the sieze of communications         │
  32. │            buffers. This feature has been added to all             │
  33. │            versions of Basic.                                      │
  34. │                                                                    │
  35. │       1.4) CLEAR Processing                                        │
  36. │            CLEAR should turn off music, reset music to             │
  37. │            foreground, turn off PEN and STRIG, and reset DRAW      │
  38. │            scale color. Similar processing should happen for       │
  39. │            LOAD, RUN, CHAIN, CLEAR, and NEW. This processing       │
  40. │            has been added for all GW-Basic versions.               │
  41. │                                                                    │
  42. │       1.5) BSAVE and BLOAD                                         │
  43. │            IBM Basic appends the .BAS suffix to file names         │
  44. │            when the user does not supply a suffix. GW-Basic        │
  45. │            did not append a suffix.                                │
  46. │                                                                    │
  47. │       1.6) CENTER OF GRAPHICS SCREEN                               │
  48. │            IBM Basic calculates the center by dividing the         │
  49. │            one relative screen dimensions by two. GW-Basic         │
  50. │            calculates the center by dividing the zero              │
  51. │            relative screen dimensions by two. The IBM Basic        │
  52. │            method of calculating the center of the screen is       │
  53. │            now used by GW-Basic.                                   │
  54. │                                                                    │
  55. │       1.7) COMMON STATEMENT                                        │
  56. │            IBM Basic allows the user to define new variables       │
  57. │            using the COMMON statement. GW-Basic declared an        │
  58. │            error if a COMMON statement referred to a               │
  59. │            previously undefined variable.                          │
  60. │                                                                    │
  61. │       1.8) LIST STATEMENT                                          │
  62. │            During PRINT and LIST processing, IBM Basic clears      │
  63. │            characters from the end of the print item to the        │
  64. │            end of line. All versions of BASIC now function in      │
  65. │            this manner.                                            │
  66. │                                                                    │
  67. │       1.9) CURSOR DESIGN                                           │
  68. │            A) The GW-Basic cursor is on only during character      │
  69. │               input requests from the keyboard.                    │
  70. │            B) The IBM Basic displays different cursors for         │
  71. │               the Screen Editor overstrike mode and insert         │
  72. │               mode.                                                │
  73. │               The GW-Basic cursor is now turned off when           │
  74. │               printing characters to the screen. The cursor is     │
  75. │               turned to the user cursor when the PRINT             │
  76. │               statement terminates. When input is requested,       │
  77. │               the cursor is turned to the insert mode cursor       │
  78. │               or the overwrite mode cursor, depending on the       │
  79. │               Screen Editor mode.                                  │
  80. │                                                                    │
  81. │       1.10) INKEY$, INPUT$, INPUT                                  │
  82. │             A) INKEY$ did not return the same key codes as         │
  83. │                IBM Basic                                           │
  84. │             B) INPUT$ did not return the same key codes as         │
  85. │                IBM Basic. It should be noted that IBM Basic        │
  86. │                key codes returned to INKEY$ are not the same       │
  87. │                as IBM Basic keycodes returned to INPUT$ for        │
  88. │                all keys.                                           │
  89. │             C) Device input from "KYBD:" read no break (no         │
  90. │                interrupt takes place) if using the INPUT           │
  91. │                statement. An interrupt took place if               │
  92. │                INPUT$(N,kybd:) IS SPECIFIED.                       │
  93. │                GW-Basic now provides the OEM with filters for      │
  94. │                mapping characters on input. These filters          │
  95. │                provide the capability of returning IBM Basic       │
  96. │                keycodes.                                           │
  97. │                                                                    │
  98. │       1.11) CHR$                                                   │
  99. │             Certain IBM character codes in the range               │
  100. │             [&H00,&H1f] have been assigned fonts and are           │
  101. │             printable. Other codes in this range have been         │
  102. │             assigned functions (such as carriage return).          │
  103. │             GW-Basic now provides filters which allow OEM to       │
  104. │             decide which codes in this range are printable         │
  105. │             and which specify control functions.                   │
  106. │                                                                    │
  107. │       1.12) SCREEN function                                        │
  108. │             SCREEN function requests for the character at the      │
  109. │             current cursor position may return a zero in           │
  110. │             place of &H20 (space) for IBM if there are no          │
  111. │             non-space characters to the right of the               │
  112. │             specified cursor position. GW-Basic can now            │
  113. │             support this character code for the screen             │
  114. │             function.                                              │
  115. │                                                                    │
  116. │       1.13) POKE/PEEK                                              │
  117. │             Results of the POKE and PEEK statements were           │
  118. │             different. The GW-Basic machine interface now          │
  119. │             includes routines to filter PEEK and POKE              │
  120. │             instructions. The OEM may now modify the PEEK or       │
  121. │             POKE address and data value.  Certain GW-Basic         │
  122. │             routines have been provided for use in these           │
  123. │             filters. GW-Basic provides the capability to           │
  124. │             support the function of all PEEK and POKE              │
  125. │             locations specified by IBM user documentation.         │
  126. │                                                                    │
  127. │       1.14) INITIALIZATION DIFFERENCES                             │
  128. │             A) HEADING: GW-Basic displays the heading when a       │
  129. │                program is specified on the command line,           │
  130. │                while IBM Basic does not print a heading or         │
  131. │                display function keys in this case. The             │
  132. │                GW-Basic machine interface now contains a           │
  133. │                parameter that specifies to GW-Basic whether to     │
  134. │                print the heading and function keys when a          │
  135. │                program is specified on the command line.           │
  136. │             B) FUNCTION KEY DISPLAY: GW-Basic did not give the     │
  137. │                option of displaying the function keys when         │
  138. │                BASIC initializes, when there is no program on      │
  139. │                the command line. A configuration switch now        │
  140. │                specifies the function key display switch           │
  141. │                position on BASIC initialization.                   │
  142. │                                                                    │
  143. │       1.15) ERROR CODES                                            │
  144. │             Some of the error codes and messages were              │
  145. │             different. GW-Basic error codes and messages have      │
  146. │             been modified to conform to IBM Basic.                 │
  147. │                                                                    │
  148. │                                                                    │
  149. │       1.16) MUSIC AND SOUND                                        │
  150. │             A) PLAY octave default not the same.                   │
  151. │             B) BEEP duration not the same                          │
  152. │             C) SOUND STATEMENT:                                    │
  153. │                   1)SOUND freq,0 causes the IBM Basic to be        │
  154. │                     flushed                                        │
  155. │                   2)GW-Basic does not perform range checking on    │
  156. │                     frequency.                                     │
  157. │                   3)SOUND statement foreground mode was not        │
  158. │                     interruptable by CTL-C or BREAK. This is a     │
  159. │                     problem because it is possible to create       │
  160. │                     extremely long notes.                          │
  161. │             These conditions are considered bugs and have          │
  162. │             been fixed for all versions. Foreground SOUND          │
  163. │             interruptability is available through a GW-Basic       │
  164. │             keyboard routine provided to the OEM for use           │
  165. │             within the speaker control support.                    │
  166. │                                                                    │
  167. │       1.17) COLOR statement syntax                                 │
  168. │             The IBM COLOR statement syntax was not                 │
  169. │             supportable by the GW-Basic OEM interface. This        │
  170. │             problem has been fixed in GW-Basic.                    │
  171. │                                                                    │
  172. ├────────────────────────────────────────────────────────────────────┤
  173. │                                                                    │
  174. │    2) DIFFERENCES WHICH WILL NOT BE RESOLVED                       │
  175. │                                                                    │
  176. │       2.1) SCREEN EDITOR DIFFERENCES                               │
  177. │            (THESE DIFFERENCES MAY NOT EXIST IN SOME VERSIONS       │
  178. │             OF GW-BASIC BECAUSE OF THE FLEXIBILITY OF THE OEM      │
  179. │             INTERFACE FOR MAPPING AND OMITTING FEATURES)           │
  180. │                                                                    │
  181. │            A) Input sequences that wrap to a subsequent            │
  182. │               physical line cause a scroll to open another         │
  183. │               physical line. IBM Basic allows the user to          │
  184. │               type over the text which is on the subsequent        │
  185. │               line. The IBM Basic end of logical line is then      │
  186. │               moved to the end of the logical line which is        │
  187. │               being overwritten.                                   │
  188. │            B) Skip-to-next-word function. When the cursor is       │
  189. │               positioned on a space the IBM skip-to-next-word      │
  190. │               control function will skip spaces until a word       │
  191. │               is found, progress over the word and proceed to      │
  192. │               the word following. The GW-Basic skip-to-next-       │
  193. │               word control function will skip spaces until a       │
  194. │               word is found.                                       │
  195. │            C) TAB. In GW-Basic, after stopping at the last         │
  196. │               position on a line, TAB will proceed to the          │
  197. │               next line. IBM Basic TAB only operates on one        │
  198. │               line.                                                │
  199. │            D) Cursor movement control functions do not join        │
  200. │               physical lines into logical lines. In IBM Basic      │
  201. │               cursor movement can join lines.                      │
  202. │            E) Line delete. The GW-Basic Screen Editor uses a       │
  203. │               character other than ESC for line delete.            │
  204. │            F) GW-Basic extends logical lines to new physical       │
  205. │               lines (when required by LF or wrapping at the        │
  206. │               end of the screen).  A new blank line is inserted    │
  207. │               following the current line. When physical lines      │
  208. │               following the first physical line in a logical       │
  209. │               line are deleted, the line is removed from the       │
  210. │               screen. In IBM Basic, lines are not inserted or      │
  211. │               removed.                                             │
  212. │            G) AUTO. The IBM AUTO statement allows the user to      │
  213. │               modify the statement corresponding to the line       │
  214. │               number printed by AUTO only. If the user uses        │
  215. │               the Screen Editor to move to another line, or        │
  216. │               otherwise attempts to modify the line number,        │
  217. │               strange results are obtained. The GW-Basic AUTO      │
  218. │               statement allows the user to modify any line by      │
  219. │               making use of the Screen Editor to modify the        │
  220. │               line number or to move to another line on the        │
  221. │               screen.                                              │
  222. │            H) Functions added to Screen Editor                     │
  223. │              1) HELP. This control function allows the             │
  224. │                    programmer to edit the last statement where     │
  225. │                    an error ocurred, or if no error ocurred,       │
  226. │                    the last direct statement.                      │
  227. │              2) DELETE WORD. This control function deletes         │
  228. │                    the current word starting at the current        │
  229. │                    cursor position, and ending at the character    │
  230. │                    previous to the next word                       │
  231. │              3) CLEAR TO END OF SCREEN. This control               │
  232. │                    function clears all data from the current       │
  233. │                    cursor position to the end of the screen.       │
  234. │                                                                    │
  235. │       2.2) Breaking from INPUT                                     │
  236. │            IBM Basic allows the user to break from an INPUT        │
  237. │            statement using either Control-C or BREAK. GW-Basic     │
  238. │            provides only one BREAK function code. This             │
  239. │            function code may be assigned to either BREAK,          │
  240. │            Control-C, or both by the OEM. However, no special      │
  241. │            processing is performed to differentiate between        │
  242. │            the INPUT statement and other statements.               │
  243. │                                                                    │
  244. │       2.3) Sequences returned by the GW-Basic RANDOM NUMBER        │
  245. │            GENERATOR (RND function) will NOT be identical to       │
  246. │            sequences returned by the IBM Basic random number       │
  247. │            generator.                                              │
  248. │                                                                    │
  249. │       2.4) /F and /S Options                                       │
  250. │            IBM Basic statically allocates file space using         │
  251. │            the /F and /S BASIC command line switches. GW-Basic     │
  252. │            allocates space dynamically and is not limited by       │
  253. │            these switches. GW-Basic will not declare an error      │
  254. │            if the user specifies either of these switches.         │
  255. │                                                                    │
  256. │       2.5) File Format of BASIC                                    │
  257. │            IBM Basic is in ".COM" file format. GW-Basic is in      │
  258. │            ".EXE" file format.                                     │
  259. │                                                                    │
  260. │       2.6) Fielded Strings                                         │
  261. │            IBM Basic fielded strings retain their values           │
  262. │            after the file is closed. In GW-Basic this space is     │
  263. │            deallocated. Any field statement which is executed      │
  264. │            while a file is opened, has no effect after that        │
  265. │            file is closed. For example, assume file 1 is           │
  266. │            opened, fielded, and closed. If file 1 is               │
  267. │            reopened, it should be refielded.                       │
  268. │                                                                    │
  269. │       2.7) VARPTR                                                  │
  270. │            In IBM Basic, the value returned by VARPTR for a        │
  271. │            given file number is not subject to  change during      │
  272. │            program execution. In GW-Basic, FBD's are moved in      │
  273. │            memory when files are opened and closed. To avoid       │
  274. │            problems due to this difference, the statement          │
  275. │            "X=VARPTR(file)" should be executed before every        │
  276. │            referrence to X because a file buffer may be moved      │
  277. │            in memory when another file is closed.                  │
  278. │                                                                    │
  279. │       2.8) Line Printer Filenames                                  │
  280. │            Line printer filenames have the following syntax:       │
  281. │                   "LPTn:[bin]"                                     │
  282. │            Where if bin is included, the file is opened in         │
  283. │            Binary mode. In this mode, tabs are not expanded        │
  284. │            to spaces, and CR is not forced at end-of-line.         │
  285. │                                                                    │
  286. │       2.9) DATE$                                                   │
  287. │            Both IBM Basic and GW-Basic allow a single digit        │
  288. │            for year. IBM Basic interprets the digit 8 as           │
  289. │            1980. GW-Basic interprets the digit 8 as 2008.          │
  290. │                                                                    │
  291. │       2.10) Pen and Joy Stick                                      │
  292. │             The statement 'STRIG ON' and 'STRIG OFF' perform       │
  293. │             no function in GW-Basic. In IBM Basic these            │
  294. │             functions are used to enable and disable the joy       │
  295. │             stick trigger interrupts.                              │
  296. │                                                                    │
  297. │       2.11) Parity Checking on the OPEN statement                  │
  298. │             There is an undocumented PE on the IBM OPEN            │
  299. │             statement. This OPEN option enables/disables           │
  300. │             parity checking on input. With no PE specified,        │
  301. │             the IBM OPEN for communications will report no         │
  302. │             parity errors.                                         │
  303. │                                                                    │
  304. ├────────────────────────────────────────────────────────────────────┤
  305. │                                                                    │
  306. │    3) IBM BASIC PROBLEMS FIXED IN GW-BASIC                         │
  307. │                                                                    │
  308. │       3.1) Homing The Graphics and Text Cursor                     │
  309. │            IBM Basic does not home the cursor after CLS in         │
  310. │            version A1.0. GW-Basic allows the OEM to choose         │
  311. │            when to home the graphics cursor. The text cursor       │
  312. │            is always returned home as per IBM PC Basic             │
  313. │            version A1.1.                                           │
  314. │                                                                    │
  315. │       3.2) NAME statement On Open Files                            │
  316. │            IBM Basic allows the NAME statement to refer to an      │
  317. │            open file. This causes no immediate problem, but        │
  318. │            can lead to problems as in the following case:          │
  319. │                   10 OPEN"0",#1,"JUNK"                             │
  320. │                   20 NAME"JUNK" AS "JUNK2"                         │
  321. │                   30 KILL"JUNK2"                                   │
  322. │                   40 PRINT#1,"My data"                             │
  323. │                   50 CLOSE                                         │
  324. │            IBM Basic allows this program to execute. Data          │
  325. │            printed to the file is lost. This is inconsistent       │
  326. │            in that KILL is illegal when referring to an open       │
  327. │            file.                                                   │
  328. │            GW-Basic and the standard MS-DOS version of             │
  329. │            BASIC-86 do not allow NAME to refer to open files.      │
  330. │                                                                    │
  331. │       3.3) Detection Of Identical File Names                       │
  332. │            IBM Basic does not detect identical file names          │
  333. │            when the only difference in the name is the case        │
  334. │            of the alphabetic characters comprising the file        │
  335. │            name. This problem prevents IBM Basic from              │
  336. │            detecting that a file in an OPEN statement has          │
  337. │            already been opened.                                    │
  338. │            GW-Basic and the standard MS-DOS version of             │
  339. │            BASIC-86 are able to detect this user error.            │
  340. │                                                                    │
  341. │       3.4) Interruptability Of Input From The Keyboard             │
  342. │            Variable length input (INPUT n,var...) from             │
  343. │            the keyboard is not interruptable using the break       │
  344. │            key. The program:                                       │
  345. │                   10 OPEN "KYBD:" FOR INPUT AS 1                   │
  346. │                   20 INPUT #1,A$                                   │
  347. │                   30 GOTO 20                                       │
  348. │            will read break as a character (the program is          │
  349. │            virtually uninterruptable). This problem is fixed       │
  350. │            in GW-Basic.                                            │
  351. │                                                                    │
  352. │       3.5) Communications                                          │
  353. │            1) End Of File. IBM-PC Basic returns EOF true           │
  354. │               whenever the input buffer is empty. GW-Basic         │
  355. │               returns EOF true only when file was opened in        │
  356. │               non binary mode, and CTL-Z has been received.        │
  357. │               Once EOF is true, it remains true until the          │
  358. │               file is closed. This is more analogous to the        │
  359. │               way EOF works on other devices.                      │
  360. │            2) Default Data Bits. IBM Basic documentation           │
  361. │               states that the default bit count for                │
  362. │               communications is 7. The commas in the               │
  363. │               statement:                                           │
  364. │                            OPEN "COM1:,,,"                         │
  365. │               cause 7 bit mode to be invoked. However, if          │
  366. │               parity or speed are specified, the default data      │
  367. │               bit count is set to 8. GW-Basic defaults to 7        │
  368. │               data bits.                                           │
  369. │                                                                    │
  370. │       3.6) Graphics                                                │
  371. │            1) POINT. The IBM BASIC POINT function does not         │
  372. │               detect that certain coordinates are not on the       │
  373. │               screen and therefore are not legal.                  │
  374. │            2) GET and PUT. The array format and speed              │
  375. │               capability of these statements is supportable        │
  376. │               by GW-Basic. However, the operation of these         │
  377. │               commands is highly dependent on hardware design      │
  378. │               and the implementation of OEM specific               │
  379. │               routines.                                            │
  380. │                                                                    │
  381. │       3.7) Screen Editor                                           │
  382. │            1) The IBM Screen Editor returns a zero to input$       │
  383. │               function when a null function key is depressed.      │
  384. │               GW-Basic Screen Editor returns no key code to        │
  385. │               INPUT$ for null function keys.                       │
  386. │            2) The IBM Screen Editor terminates function key        │
  387. │               expansion when a key code greater than &H7f is       │
  388. │               encountered. The high bit of this key code is        │
  389. │               removed. GW-Basic allows codes greater than          │
  390. │               &H7f. In late ROMs, the IBM Screen Editor will       │
  391. │               not remove the high order bit from codes             │
  392. │               returned by function key expansion.                  │
  393. │                                                                    │
  394. │       3.8) Trailing Blanks                                         │
  395. │            The following BASIC program demonstrates a problem      │
  396. │            in IBM Basic:                                           │
  397. │                          10 OPEN "JUNK FOR OUTPUT AS #1            │
  398. │                          20 PRINT #1,"ABC         "                │
  399. │                          30 CLOSE #1                               │
  400. │                          40 OPEN "JUNK" FOR INPUT AS #1            │
  401. │                          50 INPUT A$                               │
  402. │                          60 PRINT LEN(A$)                          │
  403. │                          70 CLOSE #1                               │
  404. │            The IBM Basic result of the print statement in          │
  405. │            line 60 is 13.  The trailing blanks have not been       │
  406. │            removed. GW-Basic removes these trailing blanks as      │
  407. │            specified by the ANSI Standard.                         │
  408. │                                                                    │
  409. ├────────────────────────────────────────────────────────────────────┤
  410. │                                                                    │
  411. │    4) RS232 COMMUNICATIONS                                         │
  412. │                                                                    │
  413. │       Previous releases of GW-Basic were incompatable with         │
  414. │       IBM-PC Basic communications in the following areas:          │
  415. │              1) When a com file was opened with default            │
  416. │                 parameters and closed, a CONTROL-Z (1A hex) was    │
  417. │                 sent to let the other end of the RS-232            │
  418. │                 protocol know that end-of-file had been            │
  419. │                 reached. This is not done in IBM-PC BASIC.         │
  420. │            2) Under GW-Basic if a COM device was opened with       │
  421. │                 the BIN option, EOF always returned false. In      │
  422. │                 ASCII mode, EOF returned false until it            │
  423. │                 received a CONTROL-Z, after which time it          │
  424. │                 always returned true.                              │
  425. │       These changes made EOF behave in a device independent        │
  426. │       manner. For example, a program which was written to          │
  427. │       read sequentially through a disk file, stopping when         │
  428. │       EOF was true, can now be used to read a COM file.  For       │
  429. │       another example, GW-Basic can load "COM1:" and terminate     │
  430. │       when the load is finished if the user on the other end       │
  431. │       of the RS232 line types SAVE "COM1:",A.                      │
  432. │                                                                    │
  433. │       The number of application programs which have been           │
  434. │       written to use IBM-PC COM cannot be ignored. The             │
  435. │       following change in GW-Basic is intended to provide          │
  436. │       compatability with IBM-PC Basic while retaining the          │
  437. │       features added to GW-Basic.                                  │
  438. │       NOTE: This change is isolated to version independent         │
  439. │       code and has no effect on OEM written routines.              │
  440. │                                                                    │
  441. │       COM files can be opened in one of the following ways:        │
  442. │                                                                    │
  443. │            1) With the ASC option                                  │
  444. │               In this mode, EOF is always false until a CTL-Z      │
  445. │               is received. When a file is opened for OUTPUT        │
  446. │               or RANDOM, a CTL-Z is sent when the file is          │
  447. │               closed.                                              │
  448. │                                                                    │
  449. │            2) With the BIN option                                  │
  450. │               In this "raw" mode, Basic performs no filtering      │
  451. │               of data. This includes forcing carriage return       │
  452. │               when line width is exceeded. This option             │
  453. │               overrides the LF option. EOF has the same            │
  454. │               meaning as it does in IBM-PC Basic. EOF is TRUE      │
  455. │               if no data exists in the input buffer.               │
  456. │                                                                    │
  457. │            3) With neither the BIN nor the ASC options.            │
  458. │               This mode is compatible with IBM-PC Basic. No        │
  459. │               CTL-Z is sent when the file is closed. EOF is        │
  460. │               TRUE if no data exists in the input buffer.          │
  461. │                                                                    │
  462. │       BSAVE, BLOAD force the mode to BINARY. This insures          │
  463. │       BASIC will not force any Carriage Returns if the device      │
  464. │       is not 255 (infinite).                                       │
  465. │                                                                    │
  466. │       SAVE "COMn:...",A forces the mode to ASCII.                  │
  467. │                                                                    │
  468. │       LOAD 'COMn:..."   forces the mode to ASCII if the first      │
  469. │       character received is less than 80 hex, indicating an        │
  470. │       ASCII file is being loaded. This ensures that ASCII          │
  471. │       LOADs will terminate.                                        │
  472. │                                                                    │
  473. │       COM file syntax:                                             │
  474. │            "COMn: [speed] [,parity] [,data] [,stop] [,RS]          │
  475. │            [,CS[n]] [DS[n]] [,CD[n]] [,LF] [,ASC] [,BIN]"          │
  476. │       Where:                                                       │
  477. │       SPEED  baud rate in bits per second                          │
  478. │       PARITY N, E, 0 (none, even, odd)                             │
  479. │       DATA   5,6,7,8 bits per byte                                 │
  480. │       STOP   1, 1.5, 2 stop bits                                   │
  481. │              Default for baud greater than 110 is 1                │
  482. │              Default for 110 baud or lower & 5 data bits           │
  483. │              is 1.5                                                │
  484. │              Default for 110 baud or lower & 6-8 data bits         │
  485. │              is 2                                                  │
  486. │       RS     Suppress RTS (Request To Send)                        │
  487. │       CS[n]  Controls CTS (Clear To Send)                          │
  488. │       DS[n]  Controls DSR (Data Set Ready)                         │
  489. │       CD[n]  Controls CD  (Carrier Detect)                         │
  490. │              This is also referred to as RLSD                      │
  491. │              (Receive line Signal Detect)                          │
  492. │       LF     Send a Line Feed character (X'OA')                    │
  493. │              following a Carriage Return (X'OD')                   │
  494. │       ASC    Open COM file in ASCII mode                           │
  495. │       BIN    Open COM file in BINARY mode                          │
  496. │                                                                    │
  497. │       The RTS (Request To Send) line is turned on when you         │
  498. │       execute an OPEN "COM..." statement unless you include        │
  499. │       the RS option.                                               │
  500. │       If CD is omitted, it defaults to CSO                         │
  501. │       If DS is omitted, it defaults to DS1000                      │
  502. │       If CS is omitted, it defaults to CS1000                      │
  503. │       If RS is specified and CS is omitted, then CS defaults       │
  504. │       to 0.                                                        │
  505. │                                                                    │
  506. │       Normally I/O statements to a communication file will         │
  507. │       fail if the CTS (Clear To Send) or DSR (Data Set Ready)      │
  508. │       lines are not cabled. The CS and DS options allow you        │
  509. │       to avoid this problem by ignoring these lines. If the        │
  510. │       [n] argument is included, it specifies the number of         │
  511. │       milliseconds to wait for the signal before returning a       │
  512. │       "Device Timeout" error.                                      │
  513. │                                                                    │
  514. │       If the argument [n] in the CS, DS, and CD options is         │
  515. │       omitted, or equal to 0, then that line's status is not       │
  516. │       checked at all.                                              │
  517. │                                                                    │
  518. │       NOTE: The speed, parity, data, and stop parameters are       │
  519. │       positional, but RS, CS< DS, and CD may appear in any         │
  520. │       order after STOP.                                            │
  521. │                                                                    │
  522. │       When included in the parameter list, LF will cause a         │
  523. │       Line Feed to be sent after a Carriage Return.                │
  524. │                                                                    │
  525. │                                                                    │
  526. └────────────────────────────────────────────────────────────────────┘
  527.